tg-me.com/pythonist_ru/2484
Last Update:
🌀 Как работает yield в Python?
Когда вы пишете функцию с yield, она превращается в генератор.
Это не просто функция — это объект, который можно итерировать, и при каждой итерации он "просыпается", возвращает значение и снова засыпает.
Пример:
def squares():
for i in range(3):
yield i * i
for x in squares():
print(x)
Вывод:
0
1
4
Подробнее тут.
Важно: yield не только возвращает значение, но и сохраняет состояние функции.
Это значит, что переменные не сбрасываются, цикл не начинается с начала — выполнение продолжается с того же места.
Зачем это нужно?
Крч если хочешь писать код, который не захлёбывается от объёмов — генераторы тебе в помощь